Module having application-specific program stored therein

ABSTRACT

Once attached to a slot of a personal digital assistant PDA, a card module CM executes an application-specific program and transmits a result obtained thereby to the personal digital assistant PDA. The thus received execution result is outputted from an output part. Accordingly, the output part can be provided for shared use among several card modules CM for output of the execution result.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to modules and, more specifically, to acard module attachable to data terminal equipment, and once attached,executing an application-specific program stored therein, andtransmitting its result to the data terminal equipment.

2. Description of the Background Art

Recently, portable devices are rapidly becoming popular, and a userplays games with his/her portable game machine, or listens to music withhis/her portable audio player. There also has appeared a portablenavigation device guiding a user which way to go, and indicating wherehe/she currently is.

The problem here is, such conventional portable devices are eachdesigned for a single application, and therefore the user has topurchase each different portable device for his/her varying purposes.

SUMMARY OF THE INVENTION

Therefore, an object of the present invention is to provide a cardmodule of a type attached to data terminal equipment to deal with auser's varying purposes at low cost.

An aspect of the present invention is directed to a module attachable todata terminal equipment, comprising: a first storage for storing anapplication-specific program; a first processing unit for executing theprogram stored in the first storage; a first bus through which anexecution result from the first processing unit is transferred; and afirst communications controller for transmitting to the data terminalequipment the execution result transferred through the first bus. Thedata terminal equipment then outputs the execution result transmittedfrom the first communications controller from an internal output part.

As described above, in the aspect, the module stores and executes anapplication-specific program, and a result executed thereby is outputtedfrom the data terminal equipment. Therefore, depending on whatapplication the module is specific for, a single data terminal equipmentcan be of various types. For example, if a user wants to listen tomusic, the data terminal equipment will be an audio player. As such,according to the aspect, a single data terminal equipment together withseveral modules each having a different program stored therein can dealwith the user's varying purposes. Therefore, the user has no more needto spend money to buy as many devices to do with whatever he/she wants.Further, according to the aspect, since the module executes suchapplication-specific programs, components of the module can be alwaysoptimally selected.

These and other objects, features, aspects and advantages of the presentinvention will become more apparent from the following detaileddescription of the present invention when taken in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows front views of card modules CMs and a personal digitalassistant PDA according to an embodiment of the present invention;

FIGS. 2A and 2B each show rear views of the card module CM and thepersonal digital assistant PDA of FIG. 1;

FIG. 3A is a block diagram showing the basic hardware structure of thecard module CM of FIG. 1;

FIG. 3B is a schematic diagram showing a terminal arrangement of aconnector 15 of FIG. 3A;

FIG. 4A is a schematic diagram showing the hardware structure of thepersonal digital assistant PDA of FIG. 1;

FIG. 4B is a schematic diagram showing a terminal arrangement of aconnector 25 of FIG. 4A;

FIG. 5 is a sequence chart showing the first part of a communicationsprocedure between a card module CM and a personal digital assistant PDA;

FIG. 6 is a sequence chart showing the second part of the communicationsprocedure between the card module CM and the personal digital assistantPDA; and

FIG. 7 is a sequence chart showing the last part of the communicationsprocedure between the card module CM and the personal digital assistantPDA.

DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 shows front views of card-shaped modules CMs and a personaldigital assistant PDA according to an embodiment of the presentinvention, while FIGS. 2A and 2B show back views thereof. The cardmodule CM includes a printed circuit board (not shown) having aconnector 15 equipped thereto for connection with the personal digitalassistant PDA.

Such card module CM includes, as shown in FIG. 3A, an MPU (accelerator)11, ROM 12, nonvolatile RAM 13, a communications controller 14, and abus 16 together with the connector 15. The ROM 12 stores at least aprogram P₁ for connection establishment with the personal digitalassistant PDA, and a predetermined program P₂. The predetermined programP₂ is written in each different program language, and realizes a singleapplication with respect to every combination of the card module CM andthe personal digital assistant PDA. Such predetermined program P₂ may bea program for an audio player, navigation program, game program, and thelike. The MPU 11 executes the programs P₁ and P₂ while using the RAM 13as a working area. The communications controller 14 transmits/receivescontrol information and data to/from the personal digital assistant PDA,and also adjusts the number of bits (will be described later). Theconnector 15 is used for connection between the card module CM and thepersonal digital assistant PDA. The bus 16, which is a bundle of signallines, interconnects the MPU 11, ROM 12, RAM 13, and communicationscontroller 14 to one another. In this embodiment, among those signallines, m signal lines are used for data transfer, and p fortransmission/reception of the control information. Here, the number m ofthe signal lines (i.e., m-bit width) for data transfer can be 8, 16, 32,64, 128, or 256.

As for such card module CM, specifications thereof are basically left todesigners' discretion. More specifically, designers selectively combinethe MPU 11, ROM 12, RAM 13, connector 15, and bus 16 in consideration ofmanufacturing cost and what application. Here, some applications mayrequire other devices, for example, navigation with GPS specificallyrequires receiver and antenna. However, such device addition is notconsidered essential to the present invention, and thus is not neitherdescribed nor shown.

Referring to FIG. 3B, the connector 15 is now described in detail. FIG.3B shows a terminal arrangement of the connector 15 viewed from an arrowA of FIG. 2A. In FIG. 3B, shaded square objects each denote a terminal,the total number of which is k. Here, the total number k is sodetermined as to be larger than the number m of the bit width, and kterminals are each coupled to the communications controller 14. Amongthose k terminals, p terminals are used as control terminals C. In theexample of FIG. 3B, four terminals located at the right hand side arethe control terminals C₁ to C₄. The rest of the terminals are possiblyused as data terminals D, and the m-bit width determines in advance howmany and which terminals are to be used. For example, when the bus 16 isof 32-bit width (i.e., m=32), 32 terminals D₁ to D₃₂ counted from theleft hand side are used for data transfer.

As such, in principle, the specifications of the card module CM arechangeable by designers. However, no matter what application, the outershape of the card module CM needs to remain the same, and so does thephysical shape of the connector 15.

Refer to FIGS. 1 to 2B again. The personal digital assistant PDA isexemplified by 3Com's PalmIIIx and IBM's WorkPad (both trademarks). Asshown in FIG. 2A, the personal digital assistant PDA of this embodimentadditionally includes a slot S, into which the card module CM isinserted. At the far end of the slot S, provided is a connector 25having the same physical specifications as the connector 15.

Such personal digital assistant PDA includes, as shown in FIG. 4A, a CPU21, ROM 22, RAM 23, a communications controller 24, an output part 26,an input device 29, and a bus 210 together with the connector 25. TheROM 22 stores at least a program P₃ for connection establishment withthe card module CM. The CPU 21 executes the program P₃ while using theRAM 23 as a working area. The communications controller 24transmits/receives control information or data to/from the card moduleCM, and also adjusts the number of bits (will be described later). Theconnector 25 is used for connection between the personal digitalassistant PDA and the card module CM. The output part 26 is typicallycomposed of a display 27 and a speaker 28. The input device 29 istypically composed of a user-operable pen and touch sensor, and key. Thebus 210, which is a bundle of signal lines, interconnects the CPU 21,ROM 22, RAM 23, communications controller 24, display 27, speaker 28,and input device 29 to one another. In this embodiment, among thosesignal lines, n signal lines are used for data transfer, and p fortransmission/reception of the control information. Here, the number n ofthe signal lines (i.e., n-bit width) for data transfer can be 8, 16, 32,64, 128, or 256. Accordingly, the bus 210 may be equal in bit width tothe bus 16 on the card module CM side.

Referring to FIG. 4B, the connector 25 is now described in detail. FIG.4B shows a terminal arrangement of the connector 25 viewed from an arrowB of FIG. 2A. Here, the physical specifications of the connector 25 arethe same as those of the connector 15, and thus are not described indetail. In FIG. 4B, blackened square objects each denote a terminal, thetotal number of which is also k. Those k terminals are each coupled tothe communications controller 24. Among from those k terminals, pterminals are used as the control terminals C. Herein, p signal lines ofthe bus 210 need to be all coupled to p signal lines of the bus 16.Thus, in this example, four terminals located at the left hand side arethe control terminals C₁ to C₄. The rest of the terminals are possiblyused as the data terminals D, and the n-bit width determines in advancehow many and which terminals are to be used. For example, when the bus210 is of 64-bit width (i.e., m=64), 64 terminals D₁ to D₆₄ counted fromthe right hand side are used for data transfer.

With reference to FIGS. 5 to 7, described next is an exemplary operationof such structured card module CM and personal digital assistant PDA.The user now inserts the card module CM into the slot S of the personaldigital assistant PDA (see FIG. 2A). By pushing the card module CMfarther (see FIG. 2B), the connectors 15 and 25 are connected viaterminals, and the card module CM accordingly receives power supplyvoltage preferably from the personal digital assistant PDA. Here, thecard module CM may receive power supply voltage from an internalbattery.

In the personal digital assistant PDA, in recognition that the cardmodule CM is connected to the connector 25, the CPU 21 starts executingthe program P₃ (FIG. 5; sequence SQ1). Then, the CPU 21 waits for anycontrol information from the card module CM side.

In the card module CM, the MPU 11 starts executing the program P₁ onceprovided with power supply voltage (sequence SQ2).

The MPU 11 then transmits control information CI₁ found in the programP₁ to the communications controller 14 through the signal lines, forcontrol information, of the bus 16 (sequence SQ3). Here, the controlinformation CI₁ is the one inquiring the personal digital assistant PDAabout the n-bit width of the bus 210. Herein, the control informationCI₁ includes information about the m-bit width of the bus 16 to notifythe personal digital assistant PDA thereof. The control information CI₁is then sent out from the communications controller 14 to the controlterminals C of the connector 15 (sequence SQ4). In this manner, thecontrol information CI₁ is provided to the control terminals C of theconnector 25 of the personal digital assistant PDA (sequence SQ5).

In response to the control information CI₁ via the control terminals Cof the connector 25, the communications controller 24 of the personaldigital assistant PDA extracts the number m of the bit width therefrom.The communications controller 24 then registers the thus extractednumber m into an internal storage (not shown) typified by a register,for example (sequence SQ6). Then, the communications controller 24transmits the received control information CI₁ to the CPU 21 through thesignal lines, for control information, of the bus 210 (sequence SQ7). Inresponse thereto, the CPU 21 transmits control information CI₂ found inthe program P₃ to the communications controller 24 through the signallines, for control information, of the bus 210 (sequence SQ8). Herein,the control information CI₂ includes information about the n-bit widthof the bus 210 to notify the personal digital assistant PDA thereof.After transmitting the control information CI₂, the CPU 21 stopsexecuting the program P₃, and waits for any control information thistime from the card module CM side. The communications controller 24 thensends out the received control information CI₂ towards the controlterminals C of the connector 25 (FIG. 6; sequence SQ9). In this manner,the control information CI₂ is provided to the control terminals C ofthe connector 15 of the card module CM (sequence SQ10).

In response to the control information CI₂ via the control terminals Cof the connector 15, the communications controller 14 of the card moduleCM extracts the number n of the bit width therefrom. The communicationscontroller 14 then registers the thus extracted number n into aninternal storage (not shown) typified by a register, for example(sequence SQ11). Then, the communications controller 14 transmits thereceived control information CI₂ to the MPU 11 through the signal lines,for control information, of the bus 16 (sequence SQ12). With the controlinformation CI₂, the MPU 11 understands that connection between the cardmodule CM and the personal digital assistant PDA is now established, andthen stops executing the program P1 but starts executing the program P₂(sequence SQ13). The execution result of the program P₂ is stored in theRAM 13. Here, the execution result is video data, image data, audiodata, character data, or a combination of two or more of such data.

In the case that the MPU 11 wants the execution result of the program P₂outputted from the output part 26 of the personal digital assistant PDA,the execution result in the RAM 13 is transmitted, by m bits, to thecommunications controller 14 through m signal lines, for data transfer,of the bus 210 (sequence SQ14). That is, the execution result istransferred, in parallel, to the communications controller 14 by m bits.When the execution result starts being received by m bits, thecommunications controller 14 starts adjusting the number of bits(sequence SQ15). To be specific, the communications controller 14 firstcompares between the n-bit width registered in the above sequence SQ11and the m-bit width. When m>n, the communications controller 14 dividesthe execution result came by m bits into n bits, and then stores theresult in an internal FIFO (First In First Out) The communicationscontroller 14 repeats such division and storage until the executionresult is completely through. The thus stored execution result is thensent out from the FIFO, in parallel by n bits, to n data terminals D₁ toD_(n) of the connector 15.

When m>n is not satisfied, the communications controller 14 stores, inthe FIFO, the execution result being received by m bits without anyprocess. The communications controller 14 repeats such storage until theexecution result is completely through. The thus stored execution resultis then sent out from the FIFO, in parallel by m bits, to m dataterminals D1 to D_(m) of the connector 15 (FIG. 7; sequence SQ16)

The execution result is thus, by n or m bits, provided to the dataterminals D₁ to D_(n), or D_(m) of the connector 25 of the personaldigital assistant PDA (sequence SQ17) When the execution result startsbeing received via those data terminals D₁ to D_(n) or D_(m), thecommunications controller 24 of the personal digital assistant PDAstarts adjusting the number of bits (sequence SQ18). To be specific, thecommunications controller 24 compares between the m-bit width registeredin the above sequence SQ6 and the n-bit width.

When m>n, the communications controller 24 receives the execution resultwhich has been adjusted for nbit width of the bus 210. Thecommunications controller 24 thus transfers the received executionresult to the RAM 23 as it is. The communications controller 24 repeatssuch transfer until every execution result is completely through. On theother hand, when m>n is not satisfied, the communications controller 24receives the execution result which has not been adjusted for n-bitwidth of the bus 210. Therefore, the execution result each transmittedby m bits is padded with a dummy word of (n−m) bits before transferredto the RAM 23. The communications controller 24 repeats such padding andtransfer until the execution result is completely through. With suchpadding, the RAM 23 stores the execution result by n bits (sequenceSQ19).

When the execution result is completely stored by n bits in the RAM 23,the CPU 21 instructs the output part 26 to output the execution result(sequence SQ20). Note herein that, if the execution result has dummywords padded thereto, the CPU 21 takes those dummy words out aftersequence SQ19, or when the execution result is completely stored in theRAM 23. The CPU 21 also controls transfer of the execution result fromthe RAM 23 to the output part 26. The output part 26 accordinglyresponds to the instruction from the CPU 21, and receives and outputsthe execution result stored in the RAM 23 (sequence SQ21).

Here, during when the program P₂ is executed, the user may operate theinput device 29. In such a case, the input device 29 generates inputinformation for specifying the user's operation. The thus generatedinput information is processed by the CPU 21, and then transmitted tothe card module CM side. The operation of the personal digital assistantPDA and the card module CM, respectively, is evident from the above, andthus is not described.

As such, the card module CM is so structured as to store and execute theapplication-specific program P₂, and its execution result is outputtedfrom the output part 26 of the attached personal digital assistant PDA.Accordingly, if the user wants to listen to music, for example, he/sheonly need to attach an appropriate card module CM to his/her personaldigital assistant PDA. This is always applicable no matter what the userwants with his/her personal digital assistant PDA.

As is obvious from the above, according to the present embodiment, theuser's varying purposes can be met only with a single personal digitalassistant PDA and several modules each having the application-specificprogram P₂ stored therein. Therefore, to do with whatever the userwants, he/she no longer needs to spend money to buy as many personaldigital assistants PDAs.

Further, since the card module CM executes only application-specificprograms P₂, components of the card module CM can be always optimallyselected. Still further, there only needs for the personal digitalassistant PDA to output the execution result, the specifications thereofthus do not have to be so rigid.

Here, in the above description, the card module CM is attached to thepersonal digital assistant PDA. This is not restrictive, and the cardmodule CM may be attached to data terminal equipment typified by apersonal computer and cellular phone.

While the invention has been described in detail, the foregoingdescription is in all aspects illustrative and not restrictive. It isunderstood that numerous other modifications and variations can bedevised without departing from the scope of the invention.

What is claimed is:
 1. A module attachable to data terminal equipment,said module comprising: a first storage operable to store anapplication-specific program; a first processing unit operable toexecute the application-specific program stored in said first storage; afirst bus operable to transfer an execution result from said firstprocessing unit; and a first communications controller operable toinquire as to a bit width of a second bus in the data terminal equipmentfrom the data terminal equipment after the application-specific programis executed by said first data processing unit, register the bit widthof the second bus returned from the data terminal equipment, adjust anumber of bits of the execution result transferred from said first busbased on the registered bit width of the second bus, and transmit theexecution result to the data terminal equipment, wherein the dataterminal equipment is to output, from an integral output part, theexecution result provided by said first communications controller. 2.The module according to claim 1, wherein said first bus has an m-bitwidth, where m is a natural number, and the second bus has an n-bitwidth, where n is a natural number, and if m is greater than n, saidfirst communications controller is operable to adjust the number of bitsof the execution result such that the execution result is transmitted tosaid first communications controller by m bits through said first busand transmitted by n bits to the data terminal equipment, and if m isless than or equal to n, said first communications controller transmitsthe execution result by m bits to the data terminal equipment and asecond communications controller in the data terminal equipment changesthe number of bits of the execution result transmitted from said firstcommunications controller to n bits.
 3. A system comprising: dataterminal equipment; and a module attachable to said data terminalequipment, wherein said module comprises: a first storage operable tostore an application-specific program; a first processing unit operableto execute the application-specific program stored in said firststorage; a first bus operable to transfer an execution result from saidfirst processing unit, said first bus having an m-bit width, where m isa natural number; and a first communications controller operable totransmit the execution result transferred from said first bus to saiddata terminal equipment, wherein said data terminal equipment comprises:an output part operable to output information; a second communicationscontroller operable to receive the execution result transmitted fromsaid first communications controller; a second bus of an n-bit width,where n is a natural number, operable to transfer the execution resultreceived by said second communications controller; a second storageoperable to store, by n bits, the execution result transferred throughsaid second bus; and a second processing unit operable to instruct saidoutput part to output the execution result stored in said second storageby n bits, and wherein when m is greater than n, said firstcommunications controller adjusts a number of bits of the executionresult such that the execution result is transmitted to said firstcommunication controller by m bits through said first bus andtransmitted by n bits to said data terminal equipment, and when m isless than or equal to n, said first communications controller transmitsthe execution result by m bits to said data terminal equipment and saidsecond communications controller changes the number of bits of theexecution result transmitted from said first communications controllerto n bits.